namespace classifier_test
{

class classifier_common : public virtual serializable, private noncopyable
{
public:
	classifier_common();
	classifier_common(const classifier_common& Val);
	void serialize(serializer& Serializer);
	const record_domain& get_domain() const;
	virtual void set_domain(const record_domain& Val);
	const command_line_options& get_options() const;
	void apply_arguments(subarray<const command_line_argument> Args);

protected:
	record_domain Domain;
	int ClassCount;

	virtual void initialize_options(command_line_options& Options) const;
	virtual void apply_arguments(const command_line_arguments& Args);

private:
	mutable command_line_options* Options;
};

}
